A Selective, Just-in-Time Aspect Weaver
نویسندگان
چکیده
Dynamic AOP (Aspect-Oriented Programming) is receiving growing interests in both the academia and the industry. Since it allows weaving aspects with a program at runtime, it is useful for rapid prototyping and adaptive software. However, the previous implementations of dynamic AOP systems suffered from serious performance penalties. This paper presents our new efficient dynamic AOP system in Java for addressing the underlying problem. This system called Wool is a hybrid of two approaches. When a new aspect is woven in, the programmers can select to reload into the JVM a modified class file in which hooks for executing advice are statically embedded, or they can insert hooks as breakpoints in the JVM. Since the two approaches have different performance characteristics, the programmers can select the best one for each join point. Our experimental result shows, under a certain circumstance, Wool runs dynamic AOP application about 26% faster than a traditional static code translation approach.
منابع مشابه
Weaving temporal and reliability aspects into a schema tapestry
In aspect-oriented programming (AOP) a cross-cutting concern is implemented in an aspect. An aspect weaver blends code from the aspect into a program’s code at programmer-specified cut points, yielding an aspectenhanced program. In this paper we apply some of the concepts from the AOP paradigm to data. Like code, data also has cross-cutting concerns such as versioning, security, privacy, and re...
متن کاملDynamic Aspect Weaver Family for Family-based Adaptable Systems
Complex software systems, like operating systems and middleware, have to cope with a broad range of requirements as well as strict resource constraints. Family-based software development is a promising approach to develop application-specific systems from reusable components. However, once statically configured, these systems still need to adapt at runtime according to the dynamics of the envir...
متن کاملPartial Evaluation + Reflection = Domain Specific Aspect Languages
Domain-specific languages (DSLs) are typically implemented by code generation, in which domain-specific constructs are translated to a general-purpose “host” language. Aspect-oriented languages go one step further. An aspect weaver doesn’t just generate code, it transforms code in the host language. In both cases, one of the major challenges in building and using the DSL is achieving good integ...
متن کاملDeriving Resource Efficient Designs Using the REFLECT Aspect-Oriented Approach - (Extended Abstract)
In the context of the REFLECT project[1] we have developed an aspect-oriented compilation and synthesis toolchain that aims at facilitating the mapping of applications described in high-level imperative programming languages, such as C, to heterogeneous and configurable computing systems. More specifically, we have designed an aspect-oriented domain-specific language, called LARA[2], that allow...
متن کاملAutomating deployment planning with an aspect weaver
Deployment has emerged as a major challenge in distributed real-time and embedded (DRE) systems. Application deployment planners must integrate numerous functional and non-functional constraints, such as security and performance, to produce correct deployment plans. The numerous deployment constraints and their complex interactions make manually deducing correct/efficient deployments hard. This...
متن کامل